package com.dys;

import com.dys.entity.User;
import com.dys.util.DatabaseUtils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * @className: com.dys.QueryResult
 * @description: 查询结果封装为一个对象
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/09/12 下午9:34
 */
public class QueryResult {
    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) throws SQLException {
        // 1.获取连接对象
        Connection conn = DatabaseUtils.getConnection();
        // 2.准备查询User信息的SQL语句
        String sql = "select * from user where id = ?";
        // 3.获取PreparedStatement，传入SQL
        PreparedStatement ps = conn.prepareStatement(sql);
        // 4.给占位符赋值
        ps.setInt(1, 1);
        // 5.执行SQL，获取ResultSet返回结果
        ResultSet rs = ps.executeQuery();
        // 6.遍历ResultSet结果，封装到User
        while (rs.next()) {
            User user = new User();
            user.setId(rs.getInt("id"));
            user.setUsername(rs.getString("username"));
            user.setPassword(rs.getString("password"));
            System.out.println("查询到的User信息：" + user);
        }
        // 7.释放资源
        DatabaseUtils.closeAll(conn, ps, rs);
    }
}
